//计数
$(document).ready(function() {
	
	
	//点击减号时触发
	$("input#sub").click(function() {
		var t = $(this).parent().find('input[class*=text_box]');
		t.val(parseInt(t.val()) - 1);
		if(parseInt(t.val()) < 1) {
			t.val(1);
		}
		setTotal();
		//隐藏checknum赋值
		$(this).parent().find('input[name=check_pd_num]').val(t.val());
		
		get_product_amount();
	});
	//点击加号时触发
	$("input#add").click(function() {
		var t = $(this).parent().find('input[class*=text_box]');
		
		t.val(parseInt(t.val()) + 1)			
		setTotal();
		//隐藏checknum赋值
		$(this).parent().find('input[name=check_pd_num]').val(t.val());
		
		get_product_amount();
	});
	
	//库存数量
	var amounts=$('input#product_amount');
	//购买数量
	var t=$('input[name=pd_num]');
	
	//根据库存变化设置按钮
	function get_product_amount(){
		//库存
		var pd_amount=parseInt(amounts.val());
		//剩余库存数量
		var remaining_number = parseInt(amounts.val()) - parseInt(t.val());
		
		//当选择购买数量大于等于库存数量时,设置该按钮不可用
		if(parseInt(t.val()) >= pd_amount) {
			$('input#add').attr('disabled', true);
		} else {
			$('input#add').attr('disabled', false);
		}
	}
	
	//数量输入框改变时事件
	$('input[name=pd_num]').change(function(){
		//库存
		var pd_amount=parseInt(amounts.val());
		
		if(parseInt(t.val())>pd_amount){
			t.val(pd_amount);
		}else if(parseInt(t.val())<0){
			t.val(0);
		}
	});

    //产品数量文本框验证
	$("input.text_box").keyup(function() {
		var s = $(this);
		//过滤所有非数字信息为空
		this.value = this.value.replace(/[^\d]/g,'');
		//设置最大值和最小值
		if(s.val() >= 99) {
			s.val(99);
		}
		if(s.val() < 1) {
			s.val(1);
		}
		setTotal();
	});

	//勾选checkbox时触发计算总价
	$('input.check-goods').click(function() {
		//每项勾选的时候，判断是否所有选项都被勾选，如果都被勾选，则全选按钮被勾选
		//这就需要判断拥有相同样式的input标签的长度，如果对应input标签的长度等于被勾选的长度（全部被勾选）
		//则可以设置全选按钮的勾选状态
		if($('input.check-goods').length==$('input[class*=check-goods]:checked').length){
			$('input.check_all').prop('checked', true);
		}else{
			$('input.check_all').prop('checked', false);
		}
		
		check_submit_isable();
		setTotal();
	});
	
	//勾选产品子项复选框时,同步勾选隐藏的产品数量,便于一同提交
	$('input[name=check_productid]').change(function(){		
		$(this).parent().parent().find('input[name=check_pd_num]').prop('checked', this.checked);
	});

	//勾选全选时触发的事件
	$('#cart_tab input.check_all').change(function() {
		//checkbox属性和全选选择属性保持一致
		$('#cart_tab input[class*=check-goods]').prop('checked', this.checked);
		//隐藏赋值的也选中
		$('input[name=check_pd_num]').prop('checked', this.checked);
		$('input.check_all').prop('checked', this.checked);
		//jquery版本问题，1.6版本之前设置属性用attr()，1.6版本之后用prop()
		//否则勾选无法生效	
        check_submit_isable();
        setTotal();
	});

	//计算小计和总价函数
	function setTotal() {
		var total = 0; //总价格变量	
		var totalintegral = 0; //总积分
		$("#cart_tab tr").each(function() {
			//循环遍历表格下的所有行，把当前行的单价和数量相乘,计算出每行的小计价格
			var subtotal = 0; //小计变量
			var p_price = $(this).find('td[class*=p-price]').text(); //单价
			var p_discount = $(this).find('td[class*=p-discount]').text(); //优惠价格
			//计算小计  = 数量 * （单价 - 优惠价）
			subtotal = parseInt($(this).find('input[class*=text_box]').val()) * parseFloat(p_price.substr(1, p_price.length) - p_discount.substr(1, p_discount.length));

			//在每个产品的小计显示价格 toFixed（2）取小数点后两位
			$(this).find('td[class*=p-subtotal]').html('￥' + subtotal.toFixed(2));

			//显示积分 因为价格有可能是小数，所以积分必须是整数
			$(this).find('td[class*=p-integral]').html(parseInt(subtotal));
			//alert(subtotal.toFixed(2));
			//将小计价格累加，计算出总价格

			//判断勾选做累加，不勾选不做累加
			if($(this).find('input[class*=check-goods]').is(':checked')) {

				//计算总积分
				//因为遍历取值，可能有部分时候变量是NaN
				if(!isNaN(parseInt(subtotal))) {
					totalintegral += parseInt(subtotal);
					total += parseFloat(subtotal);
				} else {
					totalintegral += 0;
					total += 0;
				}
			}
		});
		//将最后的总价格显示在总价位置
		$("li.total span.subtotal-integral").html(totalintegral);
		//alert(parseInt(total));
		$("li.goods span.price").html('￥' + total.toFixed(2));
		$("td#order_price span.price b").html('￥' + total.toFixed(2));
	}	
	
	//判断购物车当前商品是否被选中，只要有选中，就让购物按钮可用并增加样式	
	function check_submit_isable(){
		var btn=$('button.btn_order');
		if($('input.check-goods').is(':checked')==true){
			btn.prop('disabled',false);
			btn.toggleClass("action-settle",true);
			//btn.addClass("action-settle");
		}else{
			btn.prop('disabled',true);
			btn.toggleClass("action-settle",false);
		}
	}
	
	//点击提交订单
//	$('button.btn_order').click(function(){
//		window.location = "/order/order_confirm";
//	});

    //点击收藏触发异步操作
    $('td.p-action a.collect_btn').click(function(){
    	//获取点选当前行的产品ID
    	var product_Id=$(this).parent().parent().find('input[name=check_productid]').val();
    	//alert(product_Id);
    	$.post(
    		'/collect/addCollecthandle',
    		{
    			id:product_Id
    		},
    		function(data,status){
    			if(data.url=='/login'){
    				alert(data.message);
				    location.href=data.url;
    			}else{
    				alert(data.message);
    			} 
    		}
    	);
    });
    
    //添加弹出层提示框
    function addAlertHtmlBody(){
    	var html='';
    }
    
    //默认让每行购物车的积分和小计初始化
    function setcartInit(){
    	$("#cart_tab tr").each(function() {
    		var p_price = $(this).find('td[class*=p-price]').text(); //单价
			var p_discount = $(this).find('td[class*=p-discount]').text(); //优惠价格
			//计算小计  = 数量 * （单价 - 优惠价）
			subtotal = parseInt($(this).find('input[class*=text_box]').val()) * parseFloat(p_price.substr(1, p_price.length) - p_discount.substr(1, p_discount.length));
			//显示积分 因为价格有可能是小数，所以积分必须是整数
			$(this).find('td[class*=p-integral]').html(parseInt(subtotal));
			//在每个产品的小计显示价格 toFixed（2）取小数点后两位
			$(this).find('td[class*=p-subtotal]').html('￥' + subtotal.toFixed(2));
    	});    	
    }
    
    setcartInit();
	
	check_submit_isable();
//	setTotal();
});